105 research outputs found
Reasoning and Improving on Software Resilience against Unanticipated Exceptions
In software, there are the errors anticipated at specification and design
time, those encountered at development and testing time, and those that happen
in production mode yet never anticipated. In this paper, we aim at reasoning on
the ability of software to correctly handle unanticipated exceptions. We
propose an algorithm, called short-circuit testing, which injects exceptions
during test suite execution so as to simulate unanticipated errors. This
algorithm collects data that is used as input for verifying two formal
exception contracts that capture two resilience properties. Our evaluation on 9
test suites, with 78% line coverage in average, analyzes 241 executed catch
blocks, shows that 101 of them expose resilience properties and that 84 can be
transformed to be more resilient
NPEFix: Automatic Runtime Repair of Null Pointer Exceptions in Java
Null pointer exceptions, also known as null dereferences are the number one
exceptions in the field. In this paper, we propose 9 alternative execution
semantics when a null pointer exception is about to happen. We implement those
alternative execution strategies using code transformation in a tool called
NPEfix. We evaluate our prototype implementation on 11 field null dereference
bugs and 519 seeded failures and show that NPEfix is able to repair at runtime
10/11 and 318/519 failures
Dynamic Analysis can be Improved with Automatic Test Suite Refactoring
Context: Developers design test suites to automatically verify that software
meets its expected behaviors. Many dynamic analysis techniques are performed on
the exploitation of execution traces from test cases. However, in practice,
there is only one trace that results from the execution of one manually-written
test case.
Objective: In this paper, we propose a new technique of test suite
refactoring, called B-Refactoring. The idea behind B-Refactoring is to split a
test case into small test fragments, which cover a simpler part of the control
flow to provide better support for dynamic analysis.
Method: For a given dynamic analysis technique, our test suite refactoring
approach monitors the execution of test cases and identifies small test cases
without loss of the test ability. We apply B-Refactoring to assist two existing
analysis tasks: automatic repair of if-statements bugs and automatic analysis
of exception contracts.
Results: Experimental results show that test suite refactoring can
effectively simplify the execution traces of the test suite. Three real-world
bugs that could previously not be fixed with the original test suite are fixed
after applying B-Refactoring; meanwhile, exception contracts are better
verified via applying B-Refactoring to original test suites.
Conclusions: We conclude that applying B-Refactoring can effectively improve
the purity of test cases. Existing dynamic analysis tasks can be enhanced by
test suite refactoring
Characterizing, Verifying and Improving Software Resilience with Exception Contracts and Test Suites
International audienceIn this presentation, we aim at reasoning on the ability of software to correctly handle unanticipated exceptions. Short paper
Automated runtime software repair
International audiencethesis summar
Prediction of postoperative mortality in elderly patient with hip fractures : a single-centre, retrospective cohort study
Peer reviewedPublisher PD
Casper: Debugging Null Dereferences with Dynamic Causality Traces
Fixing a software error requires understanding its root cause. In this paper, we introduce "causality traces", crafted execution traces augmented with the information needed to reconstruct the causal chain from the root cause of a bug to an execution error. We propose an approach and a tool, called Casper, for dynamically constructing causality traces for null dereference errors. The core idea of Casper is to inject special values, called "ghosts", into the execution stream to construct the causality trace at runtime. We evaluate our contribution by providing and assessing the causality traces of 14 real null dereference bugs collected over six large, popular open-source projects. Over this data set, Casper builds a causality trace in less than 5 seconds
Mammalian frataxin directly enhances sulfur transfer of NFS1 persulfide to both ISCU and free thiols
Friedreich's ataxia is a severe neurodegenerative disease caused by the decreased expression of frataxin, a mitochondrial protein that stimulates iron sulfur (Fe-S) cluster biogenesis. In mammals, the primary steps of Fe-S cluster assembly are performed by the NFS1 ISD11 ISCU complex via the formation of a persulfide intermediate on NFS1. Here we show that frataxin modulates the reactivity of NFS1 persulfide with thiols. We use maleimide-peptide com- pounds along with mass spectrometry to probe cysteine-persulfide in NFS1 and ISCU. Our data reveal that in the presence of ISCU, frataxin enhances the rate of two similar reactions on NFS1 persulfide: sulfur transfer to ISCU leading to the accumulation of a persulfide on the cysteine C104 of ISCU, and sulfur transfer to small thiols such as DTT, L-cysteine and GSH leading to persulfuration of these thiols and ultimately sulfide release. These data raise important questions on the physiological mechanism of Fe-S cluster assembly and point to a unique function of frataxin as an enhancer of sulfur transfer within the NFS1 ISD11 ISCU complex
Crystal polymorphism in fragment-based lead discovery of ligands of the catalytic domain of UGGT, the glycoprotein folding quality control checkpoint
None of the current data processing pipelines for X-ray crystallography fragment-based lead discovery (FBLD) consults all the information available when deciding on the lattice and symmetry (i.e., the polymorph) of each soaked crystal. Often, X-ray crystallography FBLD pipelines either choose the polymorph based on cell volume and point-group symmetry of the X-ray diffraction data or leave polymorph attribution to manual intervention on the part of the user. Thus, when the FBLD crystals belong to more than one crystal polymorph, the discovery pipeline can be plagued by space group ambiguity, especially if the polymorphs at hand are variations of the same lattice and, therefore, difficult to tell apart from their morphology and/or their apparent crystal lattices and point groups. In the course of a fragment-based lead discovery effort aimed at finding ligands of the catalytic domain of UDP–glucose glycoprotein glucosyltransferase (UGGT), we encountered a mixture of trigonal crystals and pseudotrigonal triclinic crystals—with the two lattices closely related. In order to resolve that polymorphism ambiguity, we have written and described here a series of Unix shell scripts called CoALLA (crystal polymorph and ligand likelihood-based assignment). The CoALLA scripts are written in Unix shell and use autoPROC for data processing, CCP4-Dimple/REFMAC5 and BUSTER for refinement, and RHOFIT for ligand docking. The choice of the polymorph is effected by carrying out (in each of the known polymorphs) the tasks of diffraction data indexing, integration, scaling, and structural refinement. The most likely polymorph is then chosen as the one with the best structure refinement Rfree statistic. The CoALLA scripts further implement a likelihood-based ligand assignment strategy, starting with macromolecular refinement and automated water addition, followed by removal of the water molecules that appear to be fitting ligand density, and a final round of refinement after random perturbation of the refined macromolecular model, in order to obtain unbiased difference density maps for automated ligand placement. We illustrate the use of CoALLA to discriminate between H3 and P1 crystals used for an FBLD effort to find fragments binding to the catalytic domain of Chaetomium thermophilum UGGT
Distinct MHC class I–dependent NK cell–activating receptors control cytomegalovirus infection in different mouse strains
MCMV-infected cells are recognized by multiple MHC class I–restricted Ly49-activating receptors in genetically distinct mouse strains
- …